package com.ly.dao;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ly.pojo.domain.UserCaseDO;

/**
 * UserCaseMapper
 *
 * @author Administrator
 * @date 2025-03-07 10:51:13
 */
public interface UserCaseMapper {

    /**
     * 根据标题查询用户案例信息
     *
     * @Param title 案例标题
     * @Return 用户案例信息
     */
    UserCaseDO selectByTitle(String title);

    /**
     * 插入用户案例信息
     *
     * @Param userCaseDO 用户案例DO对象
     * @Return 影响行数
     */
    int insert(UserCaseDO userCaseDO);

    /**
     * 根据ID更新用户案例信息
     *
     * @Param userCaseDO 用户案例DO对象
     * @Return 影响行数
     */
    int updateById(UserCaseDO userCaseDO);

    /**
     * 根据ID删除用户案例信息
     *
     * @Param id 用户案例ID
     * @Return 影响行数
     */
    int deleteById(Integer id);

    /**
     * 根据ID或标题查询用户案例信息
     *
     * @Param id 用户案例ID
     * @Param title 案例标题
     * @Return 用户案例信息
     */
    UserCaseDO selectByIdOrTitle(Integer id, String title);

    /**
     * 获取所有用户案例信息
     *
     * @Param start 起始记录数
     * @Param pageSize 每页记录数
     * @Return 用户案例列表
     */
    List<UserCaseDO> selectAll(int start, int pageSize);

    /**
     * 获取所有用户案例的总记录数
     *
     * @Return 总记录数
     */
    long countAll();

    /**
     * 根据ID查询用户案例信息
     *
     * @Param id 用户案例ID
     * @Return 用户案例信息
     */
    UserCaseDO selectById(Integer id);
}
